﻿using System;
using System.Collections.Generic;
using System.Web.UI.WebControls;
using BLL;
using BLL.RF.ProductCategory;
using Model.RF.ProductCategory;

public partial class ProductManage_RFProductManage_View_ProductType_Flow_ChangeLog_ViewbyPIDDT : System.Web.UI.Page
{
    private string var_productTypeID
    {
        get { return ViewState["productTypeID"].ToString(); }
        set { ViewState["productTypeID"] = value; }
    }
    private DateTime dt1
    {
        get { return DateTime.Parse(ViewState["dt1"].ToString()); }
        set { ViewState["dt1"] = value; }
    }
    private DateTime dt2
    {
        get { return DateTime.Parse(ViewState["dt2"].ToString()); }
        set { ViewState["dt2"] = value; }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindCustoms();
            BindProductTypes();
        }
    }

    protected void BindCustoms()
    {
        Customer cust = new Customer();
        this.DropDownList1.DataSource = cust.LoadEntities();
        this.DropDownList1.DataTextField = "CustomerName";
        this.DropDownList1.DataValueField = "CustomerID";
        this.DropDownList1.DataBind();
    }

    protected void BindProductTypes()
    {
        ProductType pt = new ProductType();
        this.DropDownList2.DataSource = pt.GetProductTypesbyCustomerID(this.DropDownList1.SelectedValue);
        this.DropDownList2.DataTextField = "ProductTypeName";
        this.DropDownList2.DataValueField = "ProductTypeID";
        this.DropDownList2.DataBind();
    }

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        BindProductTypes();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        var_productTypeID = this.DropDownList2.SelectedValue.Trim();
        dt1 = DateTime.Parse(this.TextBox1.Value.Trim());
        dt2 = DateTime.Parse(this.TextBox2.Value.Trim());
        BindTests();
    }

    private void BindTests()
    {
        GridView1.DataSource = GetData();
        GridView1.DataBind();
    }

    protected IList<ProductType_Flow_ChangeLogInfo> GetData()
    {
        ProductType_Flow_ChangeLog test = new ProductType_Flow_ChangeLog();
        IList<ProductType_Flow_ChangeLogInfo> list = new List<ProductType_Flow_ChangeLogInfo>();
        foreach (ProductType_Flow_ChangeLogInfo info in test.ProductType_Flow_ChangeLog_GetbyDT(dt1, dt2))
        {
            if (info.ProductTypeID.Equals(var_productTypeID, StringComparison.OrdinalIgnoreCase))
                list.Add(info);
        }
        return list;
    }

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        this.GridView1.PageIndex = e.NewPageIndex;
        BindTests();
    }
}
